Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

202
Vistas
Firebase 9.4.1 y la función de autenticación de Javscript "onAuthStateChanged" funcionan lentamente

Estoy aprendiendo Firebase y estoy usando la última versión 9.4.1 para Web con Javascript y Jquery. Tengo el siguiente código donde verifico si el usuario está conectado actualmente y, en caso afirmativo, no tiene permiso para acceder a la página de inicio de sesión. Del mismo modo, si el usuario ha iniciado sesión, también escondo los botones "Registrarse" e "Iniciar sesión" y muestro el botón "Cerrar sesión". Sin embargo, durante mi experimento descubrí que estas acciones se realizan con bastante lentitud. Esto significa que si trato de acceder a la página de inicio de sesión, la página se carga durante casi medio segundo, muestra todo el contenido de la página (formulario de inicio de sesión y demás) en un instante durante medio segundo y luego decide redirigir de nuevo al índice. página. Incluso los botones "Registrarse" e "Iniciar sesión" se muestran durante la misma cantidad de tiempo antes de ocultarse y el botón "Cerrar sesión" también tarda en mostrarse. ¿Por qué hay estos retrasos? ¿Hay alguna forma de eliminar estos retrasos y hacer que las acciones se realicen al instante?

Código de verificación de autenticación

 onAuthStateChanged(auth, (user) => { if(user){ const uid = user.uid; (window.location.pathname.split("/").pop() == 'login.php')?location.replace("index.php"):null; $(".logout").show(); $(".login").hide(); $(".register").hide(); } });
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Cuando se carga la página, Firebase intenta restaurar el estado de autenticación del usuario a partir de la información que tiene en el almacenamiento local. Esto requiere que haga una llamada al servidor para verificar las credenciales y cosas como si la cuenta está deshabilitada. Esta llamada lleva algún tiempo, y solo una vez que se complete la llamada se llamará a onAuthStateChanged con el resultado.

Esto significa que el parpadeo breve que ve es bastante normal y no se puede evitar solo con la API de Firebase. Un truco que puede hacer es almacenar usted mismo un pequeño valor de token en el almacenamiento local y luego leerlo justo cuando se carga la página para determinar si es probable que el usuario sea autenticado. Michael Bleigh explicó esta técnica en su charla Google I/O Architecting Mobile Web Apps

Si bien no puede evitar el flash en todos los casos con esto, puede usarlo para evitar el flash para la mayoría de los usuarios de manera efectiva.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda